<?php
	/**
	 * PHP Enum implementation
	 * 
	 * @package Enums
	 * @author Anton Perkin [anton.perkin@gmail.com]
	 * @version 1.0
	 * 
	 */
	abstract class Enum
	{

	    /* CONSTRUCTORS */
	    
	    /**
	     * Initializes a new instance of Enum class
	     * 
	     * @param string $value class value
	     */
	    final public function __construct($value)
	    {
	        $this->value = $value;
	    }
	 
	    
	    /* FIELDS */
	    
	    /**
	     * The class value
	     * 
	     * @var string
	     */
	    private $value = null;
	    
	    
	    /* METHODS */
	    
	    /**
	     * __toString function override
	     * 
	     * @return string
	     */
	    final public function __toString()
	    {
	        return $this->value;
	    }
	
	}
	
?>